/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package collection;

import entity.Gerente;
import java.io.FileWriter;
import java.io.Writer;
import java.util.ArrayList;
import persistencia.LeituraGerente;
import persistencia.SalvarGerente;
import presenter.AddAgenciaPresenter;
import presenter.AddGerentePresenter;
import presenter.LimparArquivo;

/**
 *
 * @author jakson
 */
public class CollectionGerente {

    Gerente G = new Gerente("", "", "", "", "", "");
    private persistencia.SalvarGerente incluirArquivo = new SalvarGerente();
    private ArrayList<Gerente> gerentes = new ArrayList<Gerente>();
    private persistencia.LeituraGerente leitura = new LeituraGerente();
    private presenter.LimparArquivo limpar = new LimparArquivo();

    public CollectionGerente() {

        this.gerentes = leitura.recuperaAgencia("src/arquivo/gerentes.txt");
    }

    public ArrayList<Gerente> getGerentes() {
        return gerentes;
    }

    public void incluirGerente(Gerente a) {

        gerentes.add(a);
        incluirArquivo.gravarGerente(a);
    }

    public void excluirGerente(String codigo) {

        for (int i = 0; i < this.gerentes.size(); i++) {
            if (gerentes.get(i).getNome().compareTo(codigo) == 0) {
                gerentes.remove(i);
                limpar.limpaArquivo("src/arquivo/gerentes.txt");



            }
            for (int j = 0; j < this.gerentes.size(); j++) {
                incluirArquivo.gravarGerente(gerentes.get(j));
            }
        }
    }

    public void editar(String cod) {

        for (int i = 0; i < gerentes.size(); i++) {

            if (gerentes.get(i).getNome().equals(cod)) {

                new AddGerentePresenter("editar", gerentes.get(i));
                //excluirGerente(cod);
            }

        }
    }

    public void editarTransferir(String cod) {

        for (int i = 0; i < gerentes.size(); i++) {

            if (gerentes.get(i).getNome().equals(cod)) {

                new AddGerentePresenter("transferir", gerentes.get(i));
                //excluirGerente(cod);
            }

        }
    }

    public void editarDesativar(String cod) {

        for (int i = 0; i < gerentes.size(); i++) {

            if (gerentes.get(i).getNome().equals(cod)) {
                //excluirGerente(cod);
            }

        }
    }

    public void editacao(Gerente a) {

        for (int i = 0; i < this.gerentes.size(); i++) {

            if (this.gerentes.get(i).getCpf().equals(a.getCpf())) {

                this.gerentes.set(i, a);
            }
        }


        limpar.limpaArquivo("src/arquivo/gerentes.txt");
        for (int j = 0; j < this.gerentes.size(); j++) {
            incluirArquivo.gravarGerente(gerentes.get(j));
        }

    }
}
